<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

 {

var a=10;

let msg='es6';
const changliang=Math.PI;    /*3.14159*/
//  function  fn(){
//  }

//  function fn(){}

// es6  引入了一个块级作用域    
// es5  全局作用域以及函数作用域 

console.log(msg);
console.log(changliang)

        }
   



//  1    let  const  都有块级作用域
    {
        let msg1='我是一个块级作用域声明的变量';
        console.log(msg1);
        const  changliang=Math.PI;  
        console.log(changliang)
    }
    // console.log(changliang)  //外面访问不到
   
//    2  const  一旦声明了 变量 那么这个值不能被修改  let 可以被修改
  {
    //   let msg1='hello es6';
    //   console.log(msg1)
    //   setTimeout(function(){
    //     msg1='我被改变了';

    //     console.log(msg1)
    //   },1000)


    //   const msg1='hello es6';
    //   console.log(msg1)
    //   setTimeout(function(){
    //     msg1='我被改变了';

    //     console.log(msg1)
    //   },1000)
  }

// 3   const 必须声明并且赋值
  {
     let  a;
     console.log(a); //1.html:65 undefined

     const b=111;  //
     console.log(b);



  }






    </script>
</body>
</html>